import moment from 'moment'
const fullTimeStruct = 'YYYY-MM-DD HH:mm:ss'
const dayTimeStruct = 'YYYY-MM-DD'
export function getAge(birthday) {
  let ageToMonth = moment().diff(moment(birthday), 'month')
  let year = Math.floor(ageToMonth / 12)
  let month = ageToMonth % 12
  let str = '未足月'
  if (year) {
    str += year + '年'
  } else if (month) {
    str += month + '月'
  }
  return str
}

/**
 * 传入标注utc时间 转成固定格式，否则传当前时间
 * @param {} str
 * @returns
 */
export function getAllTime(str) {
  if (str) {
    return moment(str).format('YYYY-MM-DD HH:mm:ss')
  } else {
    return moment().format('YYYY-MM-DD HH:mm:ss')
  }
}

export function getDaysTime(str) {
  return moment(str).format('YYYY-MM-DD')
}
/**
 * 尝试格式化
 * @param {*} str
 * @returns
 */
export function tryFormatUTC(str) {
  if (str) {
    return moment(str).format('YYYY-MM-DD HH:mm:ss')
  } else {
    return null
  }
}

export function greaterThanToday(str) {
  return moment(str).isBefore(moment().toString())
}

export function greaterThanToday1Hours(str) {
  return moment(moment(str).format('YYYY-MM-DD HH:mm:ss')).isBefore(
    moment().add(1, 'hours')
  )
}

export function greaterThanYesterday(str) {
  return moment(moment(str).format('YYYY-MM-DD HH:mm:ss')).isBefore(
    moment().subtract(1, 'day')
  )
}

/**
 * 返回两个时间之间的年度差异
 * @param {*} now 当前时间
 * @param {*} old 过去时间
 * @param {*} hasDecimal 是否需要返回小数
 * @return number -1为少传了数，其他为间隔的年
 */
export function diffTimesToYear(now, old, hasDecimal = false) {
  if (!now && !old) {
    return -1
  }
  const nowTime = moment(now, dayTimeStruct)
  const oldTime = moment(old, dayTimeStruct)
  // const nowTime = moment(now).format(fullTimeStruct)
  // const oldTime = moment(old).format(fullTimeStruct)
  return Math.abs(nowTime.diff(oldTime, 'years', hasDecimal))
}

// function diffTimes() {

// }
